---@class u8g2
---https://nodemcu.readthedocs.io/en/release/modules/u8g2
u8g2 = {}

---@class disp
local disp = {}

---	Clears all pixel in the memory frame buffer.
---@param
---@return nil
function disp:clearBuffer()
end

---	Draw a box (filled frame).
---@param x number
---@param y number
---@param w number
---@param h number
---@return nil
function disp:drawBox(x, y, w, h)
end

---	Draw a circle.
---@param
---@return nil
function disp:drawCircle()
end

---	Draw a filled circle.
---@param
---@return nil
function disp:drawDisc()
end

---	Draw an ellipse.
---@param
---@return nil
function disp:drawEllipse()
end

---	Draw a filled ellipse.
---@param
---@return nil
function disp:drawFilledEllipse()
end

---	Draw a frame (empty box).
---@param
---@return nil
function disp:drawFrame()
end

---	Draw a single character.
---@param
---@return nil
function disp:drawGlyph()
end

---	Draw a horizontal line.
---@param
---@return nil
function disp:drawHLine()
end

---	Draw a line between two points.
---@param
---@return nil
function disp:drawLine()
end

---	Draw a pixel.
---@param
---@return nil
function disp:drawPixel()
end

---	Draw a box with round edges.
---@param
---@return nil
function disp:drawRBox()
end

---	Draw a frame with round edges.
---@param
---@return nil
function disp:drawRFrame()
end

---	Draw a string.
---@param x number
---@param y number
---@param str string
---@return nil
function disp:drawStr(x, y, str)
end

---	Draw a triangle (filled polygon).
---@param
---@return nil
function disp:drawTriangle()
end

---	Draw a string which is encoded as UTF-8.
---@param
---@return nil
function disp:drawUTF8()
end

---	Draw a vertical line.
---@param
---@return nil
function disp:drawVLine()
end

---	Draw a XBM Bitmap.
---@param
---@return nil
function disp:drawXBM()
end

---	Returns the reference height of the glyphs above the baseline (ascent).
---@param
---@return nil
function disp:getAscent()
end

---	Returns the reference height of the glyphs below the baseline (descent).
---@param
---@return nil
function disp:getDescent()
end

---	Return the pixel width of string.
---@param
---@return nil
function disp:getStrWidth()
end

---	Return the pixel width of an UTF-8 encoded string.
---@param
---@return nil
function disp:getUTF8Width()
end

---	Send the content of the memory frame buffer to the display.
---@param
---@return nil
function disp:sendBuffer()
end

---	Define bitmap background color mode.
---@param
---@return nil
function disp:setBitmapMode()
end

---	Set the contrast or brightness.
---@param
---@return nil
function disp:setContrast()
end

---	Changes the display rotation.
---@param
---@return nil
function disp:setDisplayRotation()
end

---	Defines the bit value (color index) for all drawing functions.
---@param
---@return nil
function disp:setDrawColor()
end

---	Set flip (180 degree rotation) mode.
---@param
---@return nil
function disp:setFlipMode()
end

---	Define a u8g2 font for the glyph and string drawing functions.
---@param
---@return nil
function disp:setFont()
end

---	Set the drawing direction of all strings or glyphs.
---@param
---@return nil
function disp:setFontDirection()
end

---	Define font background color mode.
---@param
---@return nil
function disp:setFontMode()
end

---	Change the reference position for the glyph and string draw functions to "baseline".
---@param
---@return nil
function disp:setFontPosBaseline()
end

---	Change the reference position for the glyph and string draw functions to "bottom".
---@param
---@return nil
function disp:setFontPosBottom()
end

---	Change the reference position for the glyph and string draw functions to "top".
---@param
---@return nil
function disp:setFontPosTop()
end

---	Change the reference position for the glyph and string draw functions to "center".
---@param
---@return nil
function disp:setFontPosCenter()
end

---	Set ascent and descent calculation mode to "highest and lowest glyph".
---@param
---@return nil
function disp:setFontRefHeightAll()
end

---	Set ascent and descent calculation mode to "highest of [A1(], lowest of [g(]".
---@param
---@return nil
function disp:setFontRefHeightExtendedText()
end

---	Set ascent and descent calculation mode to "highest of [A1], lowest of [g]".
---@param
---@return nil
function disp:setFontRefHeightText()
end

---	Activate or disable power save mode of the display.
---@param
---@return nil
function disp:setPowerSave()
end

---	Updates the display.
---@param
---@return nil
function disp:updateDisplay()
end

---	Updates the specified rectangle area of the display.
---@param
---@return nil
function disp:updateDisplayArea()
end

--[[ 
  以下是i2c接口
]]
--
---@return disp
function u8g2.ld7032_i2c_60x32(id, address, cb_fn)
end
---@return disp
function u8g2.sh1106_i2c_128x64_noname(id, address, cb_fn)
end
---@return disp
function u8g2.sh1106_i2c_128x64_vcomh0(id, address, cb_fn)
end
---@return disp
function u8g2.sh1107_i2c_64x128(id, address, cb_fn)
end
---@return disp
function u8g2.sh1107_i2c_seeed_96x96(id, address, cb_fn)
end
---@return disp
function u8g2.sh1107_i2c_128x128(id, address, cb_fn)
end
---@return disp
function u8g2.sh1108_i2c_160x160(id, address, cb_fn)
end
---@return disp
function u8g2.ssd0323_i2c_os128064(id, address, cb_fn)
end
---@return disp
function u8g2.ssd1305_i2c_128x32_noname(id, address, cb_fn)
end
---@return disp
function u8g2.ssd1306_i2c_128x32_univision(id, address, cb_fn)
end
---@return disp
function u8g2.ssd1306_i2c_128x64_noname(id, address, cb_fn)
end
---@return disp
function u8g2.ssd1306_i2c_128x64_vcomh0(id, address, cb_fn)
end
---@return disp
function u8g2.ssd1309_i2c_128x64_noname0(id, address, cb_fn)
end
---@return disp
function u8g2.ssd1309_i2c_128x64_noname2(id, address, cb_fn)
end
---@return disp
function u8g2.ssd1306_i2c_128x64_alt0(id, address, cb_fn)
end
---@return disp
function u8g2.ssd1306_i2c_64x48_er(id, address, cb_fn)
end
---@return disp
function u8g2.ssd1306_i2c_96x16_er(id, address, cb_fn)
end
---@return disp
function u8g2.ssd1318_i2c_128x96(id, address, cb_fn)
end
---@return disp
function u8g2.ssd1318_i2c_128x96_xcp(id, address, cb_fn)
end
---@return disp
function u8g2.ssd1325_i2c_nhd_128x64(id, address, cb_fn)
end
---@return disp
function u8g2.ssd1326_i2c_er_256x32(id, address, cb_fn)
end
---@return disp
function u8g2.ssd1327_i2c_seeed_96x96(id, address, cb_fn)
end
---@return disp
function u8g2.ssd1327_i2c_ea_w128128(id, address, cb_fn)
end
---@return disp
function u8g2.ssd1327_i2c_midas_128x128(id, address, cb_fn)
end
---@return disp
function u8g2.st7567_i2c_64x32(id, address, cb_fn)
end
---@return disp
function u8g2.st7588_i2c_jlx12864(id, address, cb_fn)
end
---@return disp
function u8g2.st75256_i2c_jlx25664(id, address, cb_fn)
end
---@return disp
function u8g2.st75256_i2c_jlx172104(id, address, cb_fn)
end
---@return disp
function u8g2.st75256_i2c_jlx240160(id, address, cb_fn)
end
---@return disp
function u8g2.st75256_i2c_jlx256128(id, address, cb_fn)
end
---@return disp
function u8g2.st75256_i2c_jlx256160(id, address, cb_fn)
end
---@return disp
function u8g2.uc1602_i2c_128X32(id, address, cb_fn)
end
---@return disp
function u8g2.uc1604_i2c_jlx19264(id, address, cb_fn)
end
---@return disp
function u8g2.uc1608_i2c_erc24064(id, address, cb_fn)
end
---@return disp
function u8g2.uc1608_i2c_240x128(id, address, cb_fn)
end
---@return disp
function u8g2.uc1610_i2c_ea_dogxl160(id, address, cb_fn)
end
---@return disp
function u8g2.uc1611_i2c_ea_dogm240(id, address, cb_fn)
end
---@return disp
function u8g2.uc1611_i2c_ea_dogxl240(id, address, cb_fn)
end
---@return disp
function u8g2.uc1611_i2c_ew50850(id, address, cb_fn)
end

--[[ 
  以下是spi接口 
]]
--

---@return disp
function u8g2.hx1230_96x68(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.il3820_v2_296x128(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ist3020_erc19264(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.lc7981_160x80(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.lc7981_160x80(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.lc7981_160x80(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.lc7981_160x80(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ld7032_60x32(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ls013b7dh03_128x128(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.max7219_32x8(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.nt7534_tg12864r(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.pcd8544_84x48(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.pcf8812_96x65(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.sh1106_128x64_noname(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.sh1106_128x64_vcomh0(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.sh1107_64x128(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.sh1107_seeed_96x96(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.sh1107_128x128(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.sh1108_160x160(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.sh1122_256x64(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd0323_os128064(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1305_128x32_noname(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1306_128x32_univision(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1306_128x64_noname(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1306_128x64_vcomh0(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1306_128x64_alt0(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1306_64x48_er(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1306_96x16_er(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1309_128x64_noname0(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1309_128x64_noname2(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1318_128x96(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1318_128x96_xcp(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1322_nhd_128x64(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1326_er_256x32(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1327_ea_w128128(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1327_midas_128x128(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1322_nhd_256x64(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1325_nhd_128x64(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1327_seeed_96x96(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1329_128x96_noname(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.sed1520_122x32(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1606_172x72(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1607_200x200(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1607_gd_200x200(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.ssd1607_ws_200x200(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st7565_64128n(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st7565_ea_dogm128(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st7565_ea_dogm132(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st7565_erc12864(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st7565_erc12864_alt(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st7565_lm6059(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st7565_nhd_c12832(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st7565_nhd_c12864(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st7565_zolen_128x64(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st7567_enh_dg128064i(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st7567_64x32(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st7567_jxl12864(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st7567_pi_132x64(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st7586s_s028hn118a(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st7586s_erc240160(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st7588_jlx12864(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st7920_s_128x64(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st7920_s_192x32(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st75256_jlx25664(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st75256_jlx172104(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st75256_jlx240160(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st75256_jlx256128(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.st75256_jlx256160(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.t6963_240x128(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.t6963_240x64(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.t6963_256x64(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.t6963_128x64(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.t6963_160x80(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.uc1601_128X32(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.uc1604_jlx19264(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.uc1608_240x128(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.uc1608_erc24064(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.uc1610_ea_dogxl160(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.uc1611_ea_dogm240(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.uc1611_ea_dogxl240(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.uc1611_ew50850(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.uc1701_ea_dogs102(bus, cs, dc, res, cb_fn)
end
---@return disp
function u8g2.uc1701_mini12864(bus, cs, dc, res, cb_fn)
end
